1. Technical Field
This invention generally relates to image processing systems. More particularly it relates to systems and methods for displaying images using multi-line addressing (MLA) or total matrix addressing (TMA) techniques, and to techniques for post-processing of data for display generated by these techniques. Embodiments of the invention are particularly useful for driving OLED (organic light emitting diode) displays.
2. Description of Related Art
We have previously described how techniques for multi-line addressing (MLA) and total matrix addressing (TMA) in particular using non-negative matrix factorisation (NMF) may be advantageously employed in OLED display driving (see in particular our International application PCT/GB2005/050219, hereby incorporated by reference in its entirety). We now describe further improvements to these techniques in which, broadly speaking, multiple frame sets are employed for noise reduction and improved image quality. Background prior art is described in GB2327798A; EP 0953956A; and U.S. Pat. No. 6,108,122.
Multi Line Addressing and Total Matrix Addressing
To aid in understanding embodiments of the invention we first review multi-line addressing (MLA) techniques, a preferred special case of which comprises total matrix addressing (TMA) techniques. These are preferably employed with passive matrix OLED displays, that is displays which do not include a memory element for each pixel (or colour sub-pixel) and must therefore be continually refreshed. In this specification OLED displays include displays fabricated using polymers, so-called small molecules (for example U.S. Pat. No. 4,539,507), dendrimers, and organometallic materials; the displays may be either monochrome or colour.
In a conventional passive matrix display the display is driven line-by-line and hence a high drive is required for each line because it is only illuminated for a fraction of the frame period. MLA techniques drive more than one line at once and in TMA techniques all the lines are driven simultaneously and an image is built up from a plurality of successively displayed subframes which, when integrated in the observer's eye, give the impression of the desired image. The required luminescence profile of each row (line) is built up over a plurality of line scan periods rather than as an impulse in a single line scan period. Thus the pixel drive during each line scan period can be reduced, hence extending the lifetime of the display and/or reducing the power consumption due to a reduction of drive voltage and reduced capacitive losses. This is because OLED lifetime reduces with the pixel drive (luminance) to a power typically between 1 and 2 but the length of time for which a pixel must be driven to provide the same apparent brightness to an observer increases only substantially linearly with decreasing pixel drive. The degree of benefit depends in part upon the correlation between the groups of lines driven together.
FIG. 1a shows row G, column F and image X matrices for a conventional drive scheme in which one row is driven at a time. FIG. 1b shows row, column and image matrices for a multiline addressing scheme. FIGS. 1c and 1d illustrate, for a typical pixel of the displayed image, the brightness of the pixel, or equivalently the drive to the pixel, over a frame period, showing the reduction in peak pixel drive which is achieved through multiline addressing.
The problem is to determine sets of row and column drive signals for the subframes so that a set of subframes approximates the desired image. We have previously described solutions to this problem in International Patent Applications Nos. GB2005/050167-9 (all three of which applications are hereby incorporated by reference in their entirety). A preferred technique employs non-negative matrix factorisation of a matrix describing the desired image. The factor matrices, the elements of which are positive since the OLED display elements provide a positive (or zero) light emission, essentially define the row and column drive signals for the subframes. We describe later one preferred NMF technique in the context of which embodiments of the invention may operate, although techniques may also be employed.
Referring to FIG. 1a we first describe an overall OLED display system 100 which incorporates a display drive data processor 150 which may implement embodiments of the invention in either hardware (preferred), software, or a combination of the two.
In FIG. 2a a passive matrix OLED display 120 has row electrodes 124 driven by row driver circuits 112 and column electrodes 128 driven by column drives 110. Details of these row and column drivers are shown in FIG. 1b. Column drivers 110 have a column data input 109 for setting the current drive to one or more of the column electrodes; similarly row drivers 112 have a row data input 111 for setting the current drive ratio to two or more of the rows. Preferably inputs 109 and 111 are digital inputs for ease of interfacing; preferably column data input 109 sets the current drives for all the U columns of display 120.
Data for display is provided on a data and control bus 102, which may be either serial or parallel. Bus 102 provides an input to a frame store memory 103 which stores luminance data for each pixel of the display or, in a colour display, luminance information for each sub-pixel (which may be encoded as separate RGB colour signals or as luminance and chrominance signals or in some other way). The data stored in frame memory 103 determines a desired apparent brightness for each pixel (or sub-pixel) for the display, and this information may be read out by means of a second, read bus 105 by display drive data processor 150. Display drive data processor 150 preferably performs input data pre-processing, NMF, and post-processing.
FIG. 2b illustrates row and column drivers suitable for driving a display with a factorised image matrix. The column drivers 110 comprise a set of adjustable substantially constant current sources which are ganged together and provided with a variable reference current Iref for setting the current into each of the column electrodes. This reference current is pulse width modulated (PWM) by a different value for each column derived from a row of an NMF factor matrix. OLEDs have a quadratic current-voltage dependence, which constrains independent control of the row and column drive variables. PWM is useful as it allows the column and row drive variables to be decoupled from one another.
With PWM drive, rather than always have the start of the PWM cycle an “on” portion of the cycle, the peak current can be reduced by randomly dithering the start of the PWM cycle. A similar benefit can be achieved with less complexity by starting the “on” portion timing for half the PWM cycles at the end of the available period in cases where the off-time is greater than 50%. This is potentially able to reduce the peak row drive current by 50%.
The row driver 112 comprises a programmable current mirror, preferably with one output for each row of the display (or for each row of a block of simultaneously driven rows). The row drive signals are derived from a column of an NMF factor matrix and row driver 112 distributes the total column current for each row so that the currents for the rows are in a ratio set by the ratio control input (R). Further details of suitable drivers can be found in the Applicant's PCT application GB2005/010168 (hereby incorporated by reference). Since (in this arrangement) the row signals are effectively normalised by the row driver, in post-processing the column drive reference current and/or the sub-frame time are adjusted to compensate.
Embodiments of the invention are directed towards aspects of this post-processing. For example the post-processing may adjust the duration of each sub-frame proportional to the brightness of brightest pixel in a sub-frame, so that high luminance is achieved by increased duration as well as increased drive (thus extending pixel lifetime). The relative sub-frame durations may be adjusted (in proportion) so that a desired overall frame rate is maintained.
FIGS. 2c and 2d, which are taken from GB2005/010168 show example row drivers.
In the example of FIG. 2c a bipolar current mirror with a so-called beta helper (Q5) is employed. V1 is a power supply of typically around 3V and digitally controllable current sources 215, 217, I1 and I2 define the ratio of currents in the collectors of Q1 and Q2. The currents in the two lines 252, 254 are in the ratio I1 to I2 and thus a given total column current is divided between the two selected rows in this ratio. Two row electrode multiplexers 256a, b are provided to allow selection of one row electrode to provide a reference current and another row electrode to provide an “output” current (sink). This circuit can be extended to an arbitrary number of mirrored rows by providing a repeated implementation of the circuitry within dashed line 258.
In the alternative example of FIG. 2d each row is provided with circuitry corresponding to that within dashed line 258 of FIG. 2c, that is with a current mirror output stage, and then one or more row selectors connects selected ones of these current mirror output stages to one or more respective programmable reference current supplies (source or sink). Another selector selects a row to be used as a reference input to the current mirror. Again, although only two simultaneously driven rows are shown it will be appreciated that the circuit may readily be extended to drive any number of rows simultaneously with a given current ratio.
In preferred TMA row drivers the illustrated output row selection is not employed and instead a separate current mirror output is provided for each simultaneously driven row of the display.
We now describe one preferred NMF calculation:
An input image is given by matrix V with elements Vxy, R denotes a current row matrix, C a current column matrix, Q a remaining error between V and R.C, p the number of sub-frames, average an average value, and gamma an optional gamma correction function.
The variables are initialised as follows:av=average(gamma(Vxy)initialRC=√{square root over ((av/p))}Qxy=gamma(Vxy)−av 
An embodiment of the NMF system then performs the following calculation for p=1 to the total number of subframes:                startQxy=Qxy+RpyCxp         for each x and y        
      R    py    =            bias      +                        ∑          x                ⁢                              Q            xy                    ⁢                      C            xp                                      bias      +                        ∑          x                ⁢                              C            xp                    ⁢                      C            xp                                              for each y        
      C    xp    =            bias      +                        ∑          y                ⁢                              Q            xy                    ⁢                      R            py                                      bias      +                        ∑          y                ⁢                              R            py                    ⁢                      R            py                                              for each xQxy=Qxy−RpyCxp         for each x and y        loop to start (p←p+1)        
The variable bias prevents division by zero, and the values of R and C pull towards this value. A value for bias may be determined by initialRC×weight×no.of.columns where the number of columns is x and the weight is, for example, between 64 and 128.
Broadly speaking the above calculation can be characterised as a least squares fit. The matrix Q initially begins as a form of target matrix since the row R and column C matrices are generally initialised so that all their elements are the same and equal to the average value initialRC. However from then on matrix Q represents a residual difference between the image and the result of combining the subframes—so ideally Q=0. Thus, broadly speaking, the procedure begins by adding the contribution for subframe p and then for each row finds the best column values, and afterwards for each column finds the best row values. The updated row and column values are then subtracted back from Q and the procedure continues with the next subframe. Typically a number of iterations, for example between 1 and 100, is performed so that the R and C for a set of subframes converge towards a best fit. The number of subframes p employed is an empirical choice but may, for example, be between 1 and 1000.
The factorisation of Q into row and column factor matrices R and C is schematically illustrated in FIG. 1e. FIG. 1f is schematically illustrates driving a display with one temporal sub-frame using sub-frame data from the row and column factor matrices R and C. The sub-frames are displayed sufficiently rapidly that they combine in the eye of an observer to give the impression of the desired displayed image.
In this description the skilled person will understand that references to rows and columns are interchangeable and that, for example, in the above equation system the order of processing to determine updated Rpy and Cxp values may be exchanged.
In the above set of equations preferably all integer arithmetic is employed, and preferably R and C values comprise 8 bit values and Q comprises signed 16 bit values. Then, although the determination of R and C values may involve rounding off there is no round-off error in Q since Q is updated with the rounded off values (and the product of R and C values cannot be greater than maximum value which can be accommodated within Q). The above procedure may straightforwardly be applied to pixels of a colour display (details later). Optionally a weight W matrix may be employed to weight errors in low luminance values higher, because the eye is disproportionately sensitive to imperfect blacks. A similar weighting may be applied to increase the weight of errors in a green colour channel, because the eye is disproportionately sensitive to green errors.
A typical set of parameters for a practical implementation of a display driver system based upon the above NMF procedure might have a desired frame rate of 25 frames per second, each frame comprising 20 iterations of the procedure, with, for example, 160 subframes. The NMF procedure may be implemented in software, for example on a DSP (digital signal processor) but we have also described (UK patent application no. 0605748.3 filed on 23 Mar. 2006, hereby incorporated by reference) a hardware architecture that enables a cheaper, lower-power implementation of the procedure.
FIG. 3 shows a block diagram of a further example of a OLED display driver system 300. The system of FIG. 3 includes a non-negative matrix factorisation system 310 to perform NMF as described above, either on a DSP or in hardware. The NMF system comprises an NMF processor 304 which is loaded with the target image data and which is coupled to row 306 and column 308 memory blocks for storing factor matrices R and C. The system 300 receives input image data, which may be monochrome or colour video data, and performs optional pre-processing 302 for example for gamma correction. The NMF output from system 310 is provided to a post-processor 312 for implementing an embodiment of the invention as described later. The data is then passed to a controller 314 coupled to display memory 316 and to row 318 and column 320 drivers for driving OLED display 322.